package com.jming.jike.service.backend;

import com.jming.jike.common.PageResult;
import com.jming.jike.dto.backend.EmployeeDTO;
import com.jming.jike.dto.backend.LoginDTO;
import com.jming.jike.dto.backend.UpdatePasswordDTO;
import com.jming.jike.entity.Employee;
import com.jming.jike.vo.backend.EmployeeVO;

/**
 * @author jinming.zhang
 * @version 0.0.1
 * @date 2022/04/16
 */
public interface EmployeeService {

    /**
     * 添加员工信息
     *
     * @param employeeDTO
     * @return Boolean
     * @Author jinming.zhang
     * @Date 2022/4/24
     */
    Boolean insert(EmployeeDTO employeeDTO);

    /**
     * 修改员工品信息
     *
     * @param employeeDTO
     * @return Boolean
     * @Author jinming.zhang
     * @Date 2022/4/25
     */
    Boolean update(EmployeeDTO employeeDTO);

    /**
     * 禁/启用员工
     *
     * @param id
     * @param status
     * @return Boolean
     * @Author jinming.zhang
     * @Date 2022/4/25
     */
    Boolean updateStatus(Long id, Integer status);

    /**
     * 分页查询员工品信息
     *
     * @param employeeDTO
     * @return PageResult<EmployeeVO>
     * @Author jinming.zhang
     * @Date 2022/4/25
     */
    PageResult<EmployeeVO> pageQuery(EmployeeDTO employeeDTO);

    /**
     * 修改密码
     *
     * @param updatePasswordDTO
     * @return Boolean
     * @Author jinming.zhang
     * @Date 2022/4/25
     */
    Boolean updatePassword(UpdatePasswordDTO updatePasswordDTO);

    /**
     * 员工登录
     *
     * @param loginDTO
     * @return Employee
     * @Author jinming.zhang
     * @Date 2022/4/25
     */
    Employee login(LoginDTO loginDTO);
}
